-
Notifications
You must be signed in to change notification settings - Fork 158
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix (properly) the logic around prompt re-use & Host Command handling #770
Conversation
This example isn't perfect DX/UX, there's a bad case with a multi-line prompt + cursor on one of the first lines + executing command A solution would be to use the command |
Hello! |
I've played a little bit with this without nushell and it appears to be outputting less ansi escape codes, which is good. Separately, on my own and unrelated to this PR, I'm trying to figure out how/why reedline prints so many CRLFs in nushell and also how/why the prompt is redrawn with every character typed. |
Hello o/ |
@bew does this 'bad case' still exist? |
The 'bad case' I mentioned is only a limitation with the example, due to using 'echo' in the keybind. To property solve this limitation with using |
ok, thanks. let's try it because we're a week away from a release. if we don't try it now, it'll have to wait until after the release. |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [reedline](https://togithub.com/nushell/reedline) | workspace.dependencies | minor | `0.30.0` -> `0.33.0` | --- ### Release Notes <details> <summary>nushell/reedline (reedline)</summary> ### [`v0.33.0`](https://togithub.com/nushell/reedline/releases/tag/v0.33.0) [Compare Source](https://togithub.com/nushell/reedline/compare/v0.32.0...v0.33.0) #### What's Changed - fix some new clippy warnings by [@​fdncred](https://togithub.com/fdncred) in [https://github.com/nushell/reedline/pull/790](https://togithub.com/nushell/reedline/pull/790) - Add PWD to the `Reedline` state by [@​YizhePKU](https://togithub.com/YizhePKU) in [https://github.com/nushell/reedline/pull/796](https://togithub.com/nushell/reedline/pull/796) - Fix [#​793](https://togithub.com/nushell/reedline/issues/793) using width() for column menu alignements with special char by [@​Jiogo18](https://togithub.com/Jiogo18) in [https://github.com/nushell/reedline/pull/794](https://togithub.com/nushell/reedline/pull/794) - Make menus process events before updating working details by [@​ysthakur](https://togithub.com/ysthakur) in [https://github.com/nushell/reedline/pull/799](https://togithub.com/nushell/reedline/pull/799) - Feature: vi visual mode by [@​adamschmalhofer](https://togithub.com/adamschmalhofer) in [https://github.com/nushell/reedline/pull/800](https://togithub.com/nushell/reedline/pull/800) #### New Contributors - [@​YizhePKU](https://togithub.com/YizhePKU) made their first contribution in [https://github.com/nushell/reedline/pull/796](https://togithub.com/nushell/reedline/pull/796) - [@​Jiogo18](https://togithub.com/Jiogo18) made their first contribution in [https://github.com/nushell/reedline/pull/794](https://togithub.com/nushell/reedline/pull/794) - [@​adamschmalhofer](https://togithub.com/adamschmalhofer) made their first contribution in [https://github.com/nushell/reedline/pull/800](https://togithub.com/nushell/reedline/pull/800) **Full Changelog**: nushell/reedline@v0.32.0...v0.33.0 ### [`v0.32.0`](https://togithub.com/nushell/reedline/releases/tag/v0.32.0): 0.32.0 [Compare Source](https://togithub.com/nushell/reedline/compare/v0.31.0...v0.32.0) #### What's Changed - add bashism `!term` to prefix search for last command beginning with `term` by [@​fdncred](https://togithub.com/fdncred) in [https://github.com/nushell/reedline/pull/779](https://togithub.com/nushell/reedline/pull/779) - Remove debug print by [@​sholderbach](https://togithub.com/sholderbach) in [https://github.com/nushell/reedline/pull/784](https://togithub.com/nushell/reedline/pull/784) - fix ide menu not reporting correct required_lines by [@​maxomatic458](https://togithub.com/maxomatic458) in [https://github.com/nushell/reedline/pull/781](https://togithub.com/nushell/reedline/pull/781) - Fix (properly) the logic around prompt re-use & Host Command handling by [@​bew](https://togithub.com/bew) in [https://github.com/nushell/reedline/pull/770](https://togithub.com/nushell/reedline/pull/770) - fix: unexpected spaces after large buffer input by [@​sigoden](https://togithub.com/sigoden) in [https://github.com/nushell/reedline/pull/783](https://togithub.com/nushell/reedline/pull/783) - Bump version for `0.32.0` release by [@​devyn](https://togithub.com/devyn) in [https://github.com/nushell/reedline/pull/785](https://togithub.com/nushell/reedline/pull/785) #### New Contributors - [@​bew](https://togithub.com/bew) made their first contribution in [https://github.com/nushell/reedline/pull/770](https://togithub.com/nushell/reedline/pull/770) - [@​sigoden](https://togithub.com/sigoden) made their first contribution in [https://github.com/nushell/reedline/pull/783](https://togithub.com/nushell/reedline/pull/783) - [@​devyn](https://togithub.com/devyn) made their first contribution in [https://github.com/nushell/reedline/pull/785](https://togithub.com/nushell/reedline/pull/785) **Full Changelog**: nushell/reedline@v0.31.0...v0.32.0 ### [`v0.31.0`](https://togithub.com/nushell/reedline/releases/tag/v0.31.0): 0.31.0 [Compare Source](https://togithub.com/nushell/reedline/compare/v0.30.0...v0.31.0) New release for [Nushell](https://togithub.com/nushell/nushell) `0.92.0` #### What's Changed - Bump version of `strum`/`strum_macros` by [@​sholderbach](https://togithub.com/sholderbach) in [https://github.com/nushell/reedline/pull/768](https://togithub.com/nushell/reedline/pull/768) - Use the OS clipboard only for explicit cut/copy/paste operations by [@​Tastaturtaste](https://togithub.com/Tastaturtaste) in [https://github.com/nushell/reedline/pull/761](https://togithub.com/nushell/reedline/pull/761) - Revert "Move left when exiting insert mode" by [@​fdncred](https://togithub.com/fdncred) in [https://github.com/nushell/reedline/pull/773](https://togithub.com/nushell/reedline/pull/773) - Fix `OpenOptions` clippy by [@​sholderbach](https://togithub.com/sholderbach) in [https://github.com/nushell/reedline/pull/776](https://togithub.com/nushell/reedline/pull/776) - Bump `fd-lock` requirement and locked deps by [@​sholderbach](https://togithub.com/sholderbach) in [https://github.com/nushell/reedline/pull/775](https://togithub.com/nushell/reedline/pull/775) - Fix case-consistency searching sqlite history by [@​sholderbach](https://togithub.com/sholderbach) in [https://github.com/nushell/reedline/pull/777](https://togithub.com/nushell/reedline/pull/777) - Bump version for `0.31.0` release by [@​sholderbach](https://togithub.com/sholderbach) in [https://github.com/nushell/reedline/pull/780](https://togithub.com/nushell/reedline/pull/780) **Full Changelog**: nushell/reedline@v0.30.0...v0.31.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 8pm,before 6am" in timezone America/Los_Angeles, Automerge - "after 8pm,before 6am" in timezone America/Los_Angeles. 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/oxidecomputer/crucible). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
First PR for nushell/reedline \o/
Revert/Rewrites #758
Fixes #755 (correctly this time 😬)
Where did the newline actually come from in that issue?
The phantom newline that OP reported was due to this block in painter initialization:
(👉 It would detect some text before the cursor and always make a new prompt on the next line..)
reedline/src/painting/painter.rs
Lines 107 to 120 in 0698712
Fixes #771 (my issue)
Now I have the same experience than on my zsh config 😃
Supports everything I mentioned in #771
Supports replacing the prompt (even from multi-line old prompt)
Demo
nushell.fixed.prompt.mov
MISSING(DONE)What do you think of this implementation?